#include "SDeviceVirtual.h"
#include <qstring>
#include <qdatetime>
#include <time.h>
#include <QtCore/QCoreApplication>


////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary>	Constructor. </summary>
///
/// <remarks>	Sylvain Martin, 1/18/2011. </remarks>
///
/// <param name="parent">	[in,out] If non-null, the parent. </param>
////////////////////////////////////////////////////////////////////////////////////////////////////
SDeviceVirtual::SDeviceVirtual(QObject *parent) : 
		QObject(parent), available_(false){
}

/*
////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary>	Gets the log. </summary>
///
/// <remarks>	Sylvain Martin, 1/14/2011. </remarks>
///
/// <returns>	the log of this device. </returns>
////////////////////////////////////////////////////////////////////////////////////////////////////

QString SDeviceVirtual::log(void){	
	return log_;
}

////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary>	Adds a line to the log. </summary>
///
/// <remarks>	Sylvain Martin, 1/14/2011. </remarks>
///
/// <param name="log">	The line to add to the log. </param>
////////////////////////////////////////////////////////////////////////////////////////////////////

void SDeviceVirtual::addLog(QString log){
	//log_ += QDateTime::currentDateTime().toString() + " : " + log;
	
}

////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary>	Clears the log. </summary>
///
/// <remarks>	Sylvain Martin, 1/14/2011. </remarks>
////////////////////////////////////////////////////////////////////////////////////////////////////

void SDeviceVirtual::clearLog(void){
	log_.clear();
}
*/

////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary>	Pause l'application pour i seconds </summary>
///
/// <remarks>	Sylvain Martin, 1/14/2011. </remarks>
/// 
/// <param name="i">	the number of seconde. </param>
//////////////////////////////////////////////////////////////////////////////////////////////////// 
void SDeviceVirtual::delay(double i) 
{
    clock_t start,end;
    start=clock();

    while(((end=clock())-start)<=i*CLOCKS_PER_SEC){
		QCoreApplication::processEvents ();
	}

}

////////////////////////////////////////////////////////////////////////////////////////////////////
/// <summary>	Sets the device unavailable. </summary>
///
/// <remarks>	Sylvain Martin, 1/17/2011. </remarks>
////////////////////////////////////////////////////////////////////////////////////////////////////

void SDeviceVirtual::setUnavailable(void){
	available_ = false;
}

